Many electronic devices, particularly those with an attached or integrated display have extensive functionality available through the use of an on-screen display (OSD). On-screen displays are used for a variety of reasons, such as aesthetics, efficiency, and user comfort. For example, a digital television may only have four or five discrete buttons on the television itself, with perhaps an additional 20 to 30 buttons on an associated remote control. Between options related to audio and video configurations, input control, channel selection, digital video recorder functionality, and the like, the television may have several hundred discrete functions with which a user can interact. Providing a remote, or buttons on the television itself, with a one-to-one correlation of buttons to available functions would not be aesthetically pleasing, would not be an efficient use of hardware, and often can be intimidating to the end-user.
Instead, multi-level On-Screen Displays are utilized. While varying across manufacturer and application type, on-screen displays tend to have a number of common elements. In general, a background is laid over top, or in place of, the image shown on the display. Options, either in graphical or textual form, are displayed upon that background. In some applications, a solid color background is used, e.g., a single blue rectangle appears in the middle of the screen, and text or icons are displayed over top the rectangle. In other situations, a semitransparent background is used, such that at least some portion of the image on the display can be seen through the background. In most applications, the selection of background color, brightness, and transparency level are preset, and cannot be changed. In a very few applications, the user can manually choose one of several available schemes for the OSD, enabling them to choose from, for example, three or four color and transparency options, when setting up their device.
However, OSDs are not responsive to the image being shown on the display. Regardless of whether the on-screen image is dark or bright, the OSD does not change. This is a problem for several reasons. For example, if the OSD is using a lighter background, when the background image is also bright, the OSD text will be washed out and difficult to read. If the OSD uses a darker background, and the displayed image is dark, the image detail may not show through, and is blocked out by the OSD.